home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The Arsenal Files 8
/
The Arsenal Files Collection #8 (Arsenal Computer) (1996).ISO
/
pcboard
/
wild14.zip
/
WILD.PPE
(
.txt
)
< prev
next >
Wrap
PCBoard Programming Language Executable
|
1996-10-05
|
21KB
|
1,421 lines
;------------------------------------------------------------------------------
; .ss.
; `²²'
; .,sS$Ss,,s$ .,sS$$$Ss. .,sS$Ss,,s$ .ss. .sSs.
; .d$$²^°²$$$$'.d$P²°^^²$P'.d$$²^°²$$$$'.$$$' .$$$²Sb,.
; $$$' .$$$' $$$²Sçsµ²' .$$$' .$$$'.$$$' .$$$' `$$b.
; $$$b,,d$$$' ,$$$b,....,s$$$$b,,d$$$'.$$$;.,$$$' ;$$$
; `²S$$S²²S$$S²°²S$$$$S²°°²S$$$$$$',$$S²°²S$S'.sS$$$P²'
; .sS²°$$$²²°"' d²°'
; .$$² .$$'
; $$$.,d$$'
; `²S$$S²'
;------------------------------------------------------------------------------
; P.P.L.X. 2.OO (C)1996 - Lone Runner / AEGiS CoRP'96
;------------------------------------------------------------------------------
; PPE 3.1O (Encryption type I) - Analysis ON - Postprocessing ON
;------------------------------------------------------------------------------
Boolean BOOLEAN001
Boolean BOOLEAN003
Boolean BOOLEAN004
Boolean BOOLEAN005
Boolean BOOLEAN006
Boolean BOOLEAN007
Boolean BOOLEAN008
Boolean BOOLEAN009
Boolean BOOLEAN010
Boolean BOOLEAN011
Boolean BOOLEAN012
Boolean BOOLEAN013
Boolean BOOLEAN014
Boolean BOOLEAN015
Integer INTEGER001
Integer INTEGER002
Integer INTEGER003
Integer INTEGER004
Integer INTEGER005
Integer INTEGER006
Integer INTEGER007
Integer INTEGER008
Real REAL001
Real REAL002
Real REAL003
Real REAL004
Real REAL005
String STRING010
String STRING013
String STRING014
String STRING015
String STRING016
String STRING017
String STRING018
String STRING019
String STRING020
String STRING021
String STRING022
String TSTRING023(20)
String STRING024
String STRING025
String STRING026
String STRING027
String STRING028
String STRING029
String STRING030
String STRING031
String STRING032
String STRING033
String STRING034
String STRING035
String STRING036
String STRING037
String STRING038
String STRING039
String STRING040
String STRING041
String STRING042
String STRING043
String STRING044
String STRING045
String STRING046
String STRING047
String STRING048
String STRING049
String STRING050
String STRING051
String STRING052
String STRING053
String STRING054
String STRING055
String STRING056
String STRING057
String STRING058
String STRING059
String STRING060
String TSTRING061(10)
String TSTRING062(10)
String STRING063
Byte BYTE001
Int INT001
Int INT002
Int INT003
Int INT004
Int INT005
Int INT006
Int INT008
Int INT009
Int INT010
Int INT011
Int INT012
Int INT013
Int INT014
Int INT015
Int INT016
Int INT017
Int INT018
Int INT019
Int INT020
Int INT021
Int INT022
Int INT023
Int INT024
Int INT025
Int INT026
Int INT027
Int INT028
Int INT029
Int INT030
Int INT031
Int INT032
Int INT033
Int INT034
Int INT035
Int INT036
Int INT037
BigStr BIGSTR001
BigStr BIGSTR002
Declare Function FUNCTION001(String STRING001, String STRING002, String STRING003) Boolean
Declare Function FUNCTION002(String STRING008, String STRING009) Boolean
Declare Function FUNCTION003(String STRING011, String STRING012, Int INT007) String
Declare Procedure PROC001(Var Boolean BOOLEAN016)
;------------------------------------------------------------------------------
Goto LABEL006
End
;------------------------------------------------------------------------------
Function FUNCTION001(String STRING001, String STRING002, String STRING003) Boolean
String STRING004
String STRING005
String STRING006
String STRING007
Boolean BOOLEAN002
String STRING008
If (InStr(STRING001, ".") <> 0) Then
STRING006 = Mid(STRING001, 1, InStr(STRING001, ".") - 1)
STRING007 = Mid(STRING001, InStr(STRING001, "."), Len(STRING001) - InStr(STRING001, ".") + 1)
If ((STRING007 == ".") || (STRING007 == ".???")) STRING007 = ".*"
Else
STRING006 = STRING001
STRING007 = ".*"
Endif
FUNCTION001 = 0
STRING004 = STRING006
STRING005 = STRING002
BOOLEAN002 = FUNCTION002(STRING004, STRING005)
If (BOOLEAN002) Then
STRING004 = STRING007
STRING005 = STRING003
FUNCTION001 = FUNCTION002(STRING004, STRING005)
Endif
EndFunc
;------------------------------------------------------------------------------
Function FUNCTION002(String STRING008, String STRING009) Boolean
Int INT001
Int INT002
Int INT003
Int INT004
Int INT005
Int INT006
String STRING010
String STRING011
FUNCTION002 = 1
INT001 = 0
INT002 = 0
INT003 = 1
INT004 = 0
INT005 = Len(STRING008)
INT006 = Len(STRING009)
:LABEL001
INT001 = INT001 + INT003
INT002 = INT002 + INT003
INT004 = INT004 + 1
If (INT004 > INT006) Goto LABEL002
STRING010 = Mid(STRING008, INT001, 1)
If (STRING010 == "*") Goto LABEL003
If ((STRING010 <> "?") && (Mid(STRING009, INT002, 1) <> STRING010)) Then
FUNCTION002 = 0
Else
Goto LABEL001
:LABEL002
If ((INT001 >= Len(STRING008)) || (INT001 < 1)) Return
If ((Mid(STRING008, INT001, 1) <> "*") && (Mid(STRING008, INT001, 1) <> "?")) Then
FUNCTION002 = 0
Goto LABEL004
Else
Goto LABEL001
Endif
:LABEL003
If (INT001 <> INT005) Then
INT003 = -1
INT005 = INT001
INT001 = Len(STRING008) + 1
INT002 = Len(STRING009) + 1
INT004 = 0
Goto LABEL001
Endif
Endif
:LABEL004
EndFunc
;------------------------------------------------------------------------------
Function FUNCTION003(String STRING011, String STRING012, Int INT007) String
String STRING014
String STRING015
String STRING016
String STRING017
Int INT008
Int INT009
Int INT010
Int INT011
Int INT012
If ((InStr(STRING011, "-") == 0) || (InStr(STRING011, "-") == 1)) Goto LABEL005
STRING015 = STRING011
STRING011 = ""
Tokenize STRING015
If (TokCount() == 0) Goto LABEL005
For INT010 = 1 To Len(STRING015)
STRING014 = GetToken()
If (STRING014 == "") Break
If (InStr(STRING014, "-") == 0) Then
STRING011 = STRING011 + STRING014 + " "
Continue
Endif
STRING016 = Mid(STRING014, 1, InStr(STRING014, "-") - 1)
If (STRING016 <> "") STRING017 = Mid(STRING014, InStr(STRING014, "-") + 1, Len(STRING014))
INT008 = S2I(STRING016, 10)
INT009 = S2I(STRING017, 10)
If (INT008 < 1) Then
If (INT008 == 0) STRING016 = STRING014
Newline
PrintLn ReadLine(STRING012, 38), STRING016, ReadLine(STRING012, 39)
Delay 36
Continue
Endif
If (INT009 > INT007) Then
Newline
PrintLn ReadLine(STRING012, 40), INT009, ReadLine(STRING012, 41)
Delay 36
Continue
Endif
If (INT009 >= INT008) Then
For INT011 = INT008 To INT009
STRING011 = STRING011 + LTrim(I2S(INT011, 10), " ") + " "
Next
Continue
Endif
Newline
PrintLn ReadLine(STRING012, 42), STRING014
Next
:LABEL005
FUNCTION003 = STRING011
EndFunc
:LABEL006
INT012 = TokCount()
If (INT012 > 0) Then
STRING018 = GetToken()
If ((STRING018 == "DL") || (STRING018 == "FL")) Then
If (STRING018 == "DL") Then
BOOLEAN004 = 1
Goto LABEL007
Endif
If (STRING018 == "FL") Then
BOOLEAN005 = 1
Endif
:LABEL007
Dec INT012
STRING018 = ""
STRING018 = GetToken()
Endif
Endif
STRING021 = PPEPath() + "WILDTXT" + LangExt()
If (!Exist(STRING021)) Log "WILDTXT" + LangExt() + " Does not exist in WILD.PPE directory", 0
If (INT012 == 0) Then
STRING019 = ""
If (BOOLEAN005) Goto LABEL010
If (FlagCnt()) Then
If (BOOLEAN004) Goto LABEL008
STRING022 = "D " + Chr(13)
Goto LABEL034
:LABEL008
STRING020 = ReadLine(STRING021, 1)
Goto LABEL009
Endif
STRING020 = ReadLine(STRING021, 2)
:LABEL009
Goto LABEL011
:LABEL010
STRING020 = ReadLine(STRING021, 64)
:LABEL011
Newline
InputStr STRING020, STRING019, 14, 80, Mask_Ascii(), 8 + 256 + 16
If (STRING019 == "") Then
STRING022 = Chr(13)
Goto LABEL034
Endif
Tokenize STRING019
STRING018 = GetToken()
If (BOOLEAN005) Then
If (STRING018 <> "D") Then
STRING022 = STRING019 + Chr(13)
Goto LABEL034
Goto LABEL012
Endif
STRING018 = GetToken()
If (STRING018 == "") Then
STRING022 = Chr(13)
Goto LABEL034
Endif
Endif
:LABEL012
If (!BOOLEAN004 && !BOOLEAN005) Then
STRING022 = "D "
BOOLEAN004 = 1
Endif
Endif
INT013 = 0
While (1) Do
If (STRING018 == "") Break
If ((InStr(STRING018, "*") <> 0) || (InStr(STRING018, "?") <> 0)) Then
If ((((InStr(STRING018, ".") > 9) || (Len(STRING018) - InStr(STRING018, ".") > 3)) || (InStr(STRING018, "**") > 0)) || (InStr(STRING018, "..") > 0)) Then
Gosub LABEL021
Else
Inc INT013
TSTRING023(INT013) = STRING018
Endif
Else
If (BOOLEAN004) Goto LABEL013
BOOLEAN004 = 1
STRING022 = "D "
:LABEL013
STRING022 = STRING022 + " " + STRING018
Endif
STRING018 = GetToken()
EndWhile
If ((INT012 <> 0) && (INT013 == 0)) Then
INT012 = 0
Else
If ((INT012 == 0) && (INT013 == 0)) Goto LABEL034
INT012 = INT013
INT013 = 1
GetUser
Gosub LABEL023
STRING043 = PPEPath() + "WILD" + String(PcbNode()) + ".DEF"
If (Exist(STRING043)) Delete STRING043
FAppend 6, STRING043, 1, 0
Gosub LABEL038
If (InStr(STRING019, ".") > 0) Then
STRING033 = Mid(STRING019, 1, InStr(STRING019, ".") - 1)
STRING034 = Mid(STRING019, InStr(STRING019, "."), Len(STRING019) - InStr(STRING019, ".") + 1)
If ((STRING034 == ".") || (STRING034 == ".???")) STRING034 = ".*"
Else
STRING033 = STRING019
STRING034 = ".*"
STRING019 = STRING019 + ".*"
Endif
StartDisp 1
Gosub LABEL022
Gosub LABEL046
If (!BOOLEAN015) Gosub LABEL047
Gosub LABEL039
Gosub LABEL040
Gosub LABEL041
FOpen 3, STRING059, 0, 0
While (1) Do
FGet 3, STRING024
BOOLEAN013 = Ferr(3)
If (INT014 >= INT020) BOOLEAN013 = 1
If (BOOLEAN006) BOOLEAN013 = 1
If (BOOLEAN013) Then
Inc INT013
If (INT013 <= INT012) Then
Gosub LABEL043
STRING019 = TSTRING023(INT013)
Gosub LABEL023
Gosub LABEL022
STRING028 = Left(STRING019, 1)
Frewind 3
Continue
Goto LABEL014
Endif
Gosub LABEL043
Goto LABEL034
Endif
:LABEL014
BOOLEAN014 = 0
If (Left(STRING024, 1) <> "%") Then
STRING018 = STRING024 + STRING019
STRING027 = FindFirst(STRING018)
While (STRING027 <> "") Do
If (INT022 <> 0) Then
If (Mid(STRING027, 1, INT022) == STRING035) Then
BOOLEAN007 = 1
Goto LABEL015
Endif
BOOLEAN007 = 0
:LABEL015
Goto LABEL016
Endif
If (InStr(STRING027, ".") <> 0) Then
STRING029 = Mid(STRING027, 1, InStr(STRING027, ".") - 1)
STRING030 = Mid(STRING027, InStr(STRING027, "."), Len(STRING027) - InStr(STRING027, ".") + 1)
BOOLEAN007 = FUNCTION001(STRING019, STRING029, STRING030)
Gosub LABEL046
Endif
:LABEL016
If (BOOLEAN007) Gosub LABEL044
STRING027 = FindNext()
Gosub LABEL046
PROC001(BOOLEAN006)
If (BOOLEAN006) Break
If (INT014 >= INT020) Break
EndWhile
Continue
Endif
BOOLEAN014 = 1
PROC001(BOOLEAN006)
If (BOOLEAN006) Break
STRING024 = Mid(STRING024, 2, Len(STRING024))
FOpen 4, STRING024, 0, 0
FSeek 4, 127, 0
FRead 4, BYTE001, 1
If (BYTE001 == 1) BOOLEAN011 = 1
Frewind 4
If (BOOLEAN011) Then
FRead 4, INTEGER001, 4
Else
FRead 4, INT030, 2
Endif
STRING056 = ""
STRING028 = Left(STRING019, 1)
If ((STRING028 == "*") || (STRING028 == "?")) Then
STRING028 = "A"
INT018 = 1
Else
If (STRING028 < "A") Then
STRING056 = STRING028
STRING028 = "A"
Endif
If (STRING028 > "Z") STRING028 = "Z"
INT018 = S2I(STRING028, 36) - 9
Endif
If (BOOLEAN011) Then
FSeek 4, INT018 * 4, 0
FRead 4, INTEGER002, 4
FRead 4, INTEGER003, 4
Else
FSeek 4, INT018 * 2, 0
FRead 4, INT019, 2
INTEGER002 = INT019
FRead 4, INT019, 2
INTEGER003 = INT019
Endif
If (((STRING056 < "A") && (STRING056 <> "")) && (STRING028 == "A")) Then
INTEGER003 = INTEGER002
INTEGER002 = 1
Endif
If (STRING028 == "Z") Then
If (BOOLEAN011) Then
INTEGER003 = INTEGER001
Goto LABEL017
Endif
INTEGER003 = INT030
:LABEL017
If (STRING056 <> "") Then
INTEGER003 = INTEGER002
INTEGER002 = 1
Endif
Endif
Gosub LABEL026
If (BOOLEAN011) Then
FSeek 4, INTEGER002 * 19 + 128, 0
Else
FSeek 4, INTEGER002 * 13 + 128, 0
Endif
While (1) Do
If (INTEGER002 >= INTEGER003) Break
If (INT014 >= INT020) Break
Gosub LABEL046
PROC001(BOOLEAN006)
If (BOOLEAN006) Break
FRead 4, STRING029, 8
FRead 4, STRING030, 3
If (BOOLEAN011) Then
FRead 4, INTEGER004, 4
FSeek 4, 4, 1
Else
FRead 4, INT019, 2
INTEGER004 = INT019
Endif
Inc INTEGER002
If (INT022 <> 0) Then
If (Mid(STRING029, 1, INT022) > STRING035) Break
If (STRING035 <> Mid(STRING029, 1, INT022)) Continue
Endif
STRING029 = RTrim(STRING029, " ")
STRING030 = "." + RTrim(STRING030, " ")
STRING031 = STRING029 + STRING030
If (FUNCTION001(STRING019, STRING029, STRING030)) Gosub LABEL044
EndWhile
FClose 4
EndWhile
FClose 6
If (INT014) Goto LABEL018
Gosub LABEL020
Goto LABEL019
:LABEL018
Gosub LABEL049
Gosub LABEL030
:LABEL019
StartDisp 2
If (INT013 == INT012) Inc INT013
Goto LABEL034
End
:LABEL020
If (AnsiOn()) Then
Print Chr(13)
ClrEol
Else
Newline
Endif
PrintLn ReadLine(STRING021, 3)
Newline
Wait
Return
:LABEL021
Newline
PrintLn ReadLine(STRING021, 4), " ", STRING018, ReadLine(STRING021, 5)
Delay 36
Return
:LABEL022
INT023 = 0
Newline
PrintLn ReadLine(STRING021, 9)
Print ReadLine(STRING021, 10), STRING019
Newline
Print ReadLine(STRING021, 11)
Return
:LABEL023
STRING019 = ""
STRING019 = Upper(TSTRING023(INT013))
If (InStr(STRING019, "*")) Gosub LABEL025
STRING046 = STRING018
Gosub LABEL048
STRING018 = STRING046
If (INT031 > 1) Then
Newline
Print ReadLine(STRING021, 62), " ", STRING018, " ", ReadLine(STRING021, 63), " ", STRING019
Newline
Delay 18
Endif
STRING028 = Left(STRING019, 1)
If ((STRING028 <> "*") || (STRING028 <> "?")) Then
INT029 = InStr(STRING019, "?")
INT037 = InStr(STRING019, "*")
If ((INT029 == 1) || (INT037 == 1)) Then
Newline
If ((STRING019 == "*.*") && (U_Sec < INT017)) Then
DispFile PPEPath() + "allsec", 4 + 1
End
Endif
Endif
If (INT037 > 0) Then
If ((INT037 > INT029) && (INT029 == 0)) STRING035 = Mid(STRING019, 1, INT037 - 1)
If ((INT037 > INT029) && (INT029 <> 0)) STRING035 = Mid(STRING019, 1, INT029 - 1)
If (INT037 < INT029) STRING035 = Mid(STRING019, 1, INT037 - 1)
Goto LABEL024
Endif
If (INT029 > 0) STRING035 = Mid(STRING019, 1, INT029 - 1)
:LABEL024
INT022 = Len(STRING035)
If (InStr(STRING019, ".") <= INT022) Then
INT022 = InStr(STRING019, ".") - 1
STRING035 = Mid(STRING019, 1, InStr(STRING019, ".") - 1)
Endif
Endif
Return
:LABEL025
INT031 = 0
For INT024 = 1 To InStr(STRING019, ".")
If (Mid(STRING019, INT024, 1) == "*") Inc INT031
Next
If (INT031 > 1) Then
STRING018 = STRING019
STRING019 = "*." + Mid(STRING019, InStr(STRING019, ".") + 1, Len(STRING019) - InStr(STRING019, "."))
Endif
Return
:LABEL026
BOOLEAN009 = 0
BOOLEAN008 = 0
INT028 = INTEGER003
INT027 = INTEGER002 - 1
:LABEL027
If (BOOLEAN009) Goto LABEL028
REAL001 = INT028
REAL002 = INT027
REAL001 = REAL001 / 2
REAL002 = REAL002 / 2
REAL003 = REAL001 + REAL002 + 0.5
INT026 = REAL003
INTEGER005 = (INT026 - 1) * 13 + 128
FSeek 4, INTEGER005, 0
FRead 4, STRING029, 8
FRead 4, STRING030, 3
STRING029 = RTrim(STRING029, " ")
STRING030 = RTrim(STRING030, " ")
STRING031 = STRING029 + "." + STRING030
If (Mid(STRING031, 1, INT022) == STRING035) Then
BOOLEAN008 = 1
BOOLEAN009 = 1
ElseIf (INT028 - INT027 < 2) Then
BOOLEAN009 = 1
ElseIf (Mid(STRING031, 1, INT022) < STRING035) Then
INT027 = INT026
ElseIf (Mid(STRING031, 1, INT022) > STRING035) Then
INT028 = INT026
Endif
Goto LABEL027
:LABEL028
Gosub LABEL046
If (BOOLEAN008) Then
While (1) Do
If (INT026 > 5) Then
INT026 = INT026 - 5
Goto LABEL029
Endif
INTEGER002 = 0
Break
:LABEL029
INTEGER005 = INT026 * 13 + 128
FSeek 4, INTEGER005, 0
FRead 4, STRING029, 8
FRead 4, STRING030, 3
STRING029 = RTrim(STRING029, " ")
STRING030 = RTrim(STRING030, " ")
STRING031 = STRING029 + "." + STRING030
If (Mid(STRING031, 1, INT022) < STRING035) Then
INTEGER002 = INT026
Break
Endif
EndWhile
Endif
Return
:LABEL030
StartDisp 1
INT033 = 0
KeyFlush
Newline
PrintLn ReadLine(STRING021, 12)
PrintLn ReadLine(STRING021, 13)
BOOLEAN010 = 0
INT031 = 0
INT033 = INT033 + 3
INT034 = 3
STRING043 = PPEPath() + "WILD" + String(PcbNode()) + ".DEF"
FOpen 7, STRING043, 0, 0
While (1) Do
FGet 7, STRING018
STRING018 = Mid(STRING018, 1, InStr(STRING018, " ") - 1)
If (Ferr(7)) Break
Inc INT031
If (INT031 > INT020) Break
If (BOOLEAN010) Then
BOOLEAN010 = 0
Else
If (INT031 < 10) Print " "
Print "@X0F" + String(INT031) + "."
If (INT031 < 100) Then
Print " "
Else
Print " "
Endif
Print "@X0A" + STRING018 + Space(18 - Len(String(STRING018)))
If (INT031 % INT034 == 0) Then
Newline
Inc INT033
Endif
If (INT033 > U_PageLen - 2) Then
Endif
STRING020 = ReadLine(STRING021, 14)
STRING019 = ""
InputStr STRING020, STRING019, 14, 1, Mask_Ascii(), 8
If (STRING019 == "") Then
INT033 = 0
If (AnsiOn()) Then
Print Chr(13)
ClrEol
Endif
Continue
Continue
Endif
If (STRING019 == YesChar()) Then
INT033 = 0
Continue
Continue
Endif
If (STRING019 == "Y") Then
INT033 = 0
Continue
Continue
Endif
If (STRING019 == NoChar()) Then
Break
Continue
Endif
If (STRING019 == "N") Then
Break
Continue
Endif
If (STRING019 == "F") Then
BOOLEAN010 = 1
Gosub LABEL031
INT033 = 0
Continue
Continue
Endif
Return
Endif
EndWhile
Newline
FClose 7
BOOLEAN010 = 0
Goto LABEL032
:LABEL031
Newline
PrintLn ReadLine(STRING021, 15)
STRING020 = ReadLine(STRING021, 16)
STRING019 = ""
InputStr STRING020, STRING019, 14, 50, Mask_Ascii(), 256 + 8
If (STRING019 == "") Return
STRING054 = STRING048
If (InStr(STRING019, "-") > 1) STRING019 = FUNCTION003(STRING019, STRING021, INT020)
Tokenize STRING019
INTEGER003 = TokCount()
If (FlagCnt() + INTEGER003 > INT025) Then
Newline
PrintLn ReadLine(STRING021, 17), " @X0E", INTEGER003, ReadLine(STRING021, 18)
Newline
PrintLn ReadLine(STRING021, 19), " ", FlagCnt()
PrintLn ReadLine(STRING021, 20), " ", INTEGER003
PrintLn ReadLine(STRING021, 21), " ", INT025
Newline
INTEGER003 = INT025 - FlagCnt()
PrintLn ReadLine(STRING021, 22), " @X0E", INTEGER003, ReadLine(STRING021, 23)
Endif
Newline
PrintLn ReadLine(STRING021, 48)
For INT024 = 1 To INTEGER003
STRING018 = GetToken()
If ((S2I(STRING018, 10) == 0) && (STRING018 <> "0")) Then
If (STRING027 <> STRING018) Then
PrintLn ReadLine(STRING021, 24)
PrintLn ReadLine(STRING021, 25) + STRING018 + ReadLine(STRING021, 26)
STRING027 = STRING018
Newline
Delay 36
Endif
Continue
Endif
If ((S2I(STRING018, 10) > INT014) || (S2I(STRING018, 10) < 1)) Then
PrintLn ReadLine(STRING021, 27), STRING018, ReadLine(STRING021, 28)
Delay 18
Continue
Endif
STRING027 = ReadLine(STRING043, S2I(STRING018, 10))
STRING040 = Mid(STRING027, 15, Len(STRING027) - 14)
STRING027 = Mid(STRING027, 1, InStr(STRING027, " ") - 1)
If (INTEGER007) Then
INTEGER008 = INTEGER008 + FileInf(STRING040 + STRING027, 4)
If (INTEGER008 > INTEGER007 - U_BdlDay()) Then
Newline
PrintLn ReadLine(STRING021, 49)
PrintLn ReadLine(STRING021, 50)
PrintLn ReadLine(STRING021, 51)
Newline
PrintLn ReadLine(STRING021, 52)
PrintLn ReadLine(STRING021, 53)
Newline
PrintLn ReadLine(STRING021, 54), INTEGER007
PrintLn ReadLine(STRING021, 55), U_BdlDay()
PrintLn ReadLine(STRING021, 56), INTEGER007 - U_BdlDay()
PrintLn ReadLine(STRING021, 57), INTEGER008
INTEGER008 = INTEGER008 - FileInf(STRING040 + STRING027, 4)
Break
Endif
Endif
If ((((((InStr(STRING048, STRING027) == 0) && (InStr(STRING049, STRING027) == 0)) && (InStr(STRING050, STRING027) == 0)) && (InStr(STRING051, STRING027) == 0)) && (InStr(STRING052, STRING027) == 0)) && (InStr(STRING053, STRING027) == 0)) Then
Inc INT036
STRING026 = Trim(STRING027, " ")
STRING048 = STRING048 + STRING026 + " "
If (Len(STRING048) > 230) Then
While (1) Do
If (STRING049 == "") Then
STRING049 = STRING048
Break
Endif
If (STRING050 == "") Then
STRING050 = STRING048
Break
Endif
If (STRING051 == "") Then
STRING051 = STRING048
Break
Endif
If (STRING052 == "") Then
STRING052 = STRING048
Break
Endif
If (STRING053 == "") Then
STRING053 = STRING048
Break
Endif
EndWhile
STRING048 = ""
Endif
Continue
Endif
Newline
PrintLn ReadLine(STRING021, 29), STRING027, ReadLine(STRING021, 30)
Next
If (STRING054 <> STRING048) Then
INT033 = 0
Newlines 2
PrintLn ReadLine(STRING021, 31), INT036, ReadLine(STRING021, 32)
Endif
Return
:LABEL032
STRING019 = ""
Newline
STRING020 = ReadLine(STRING021, 33)
InputStr STRING020, STRING019, 14, 1, "EFHLR ", 256 + 8 + 2 + 4
INT033 = 7
If (STRING019 == "") Then
If (FlagCnt()) Then
If (Left(STRING022, 2) <> "D ") STRING022 = "D " + STRING022
Endif
If (INT013 < INT012) Return
If (BOOLEAN005) STRING022 = STRING022 + Chr(13)
Else
Select Case (STRING019)
Case "F"
Goto LABEL033
Case "R"
Goto LABEL030
Case "E"
Gosub LABEL035
Goto LABEL032
Case "H"
Gosub LABEL036
Goto LABEL032
Case "L"
Gosub LABEL037
Goto LABEL032
Case Else
Newline
PrintLn ReadLine(STRING021, 34)
Delay 36
Goto LABEL032
End Select
Return
:LABEL033
Gosub LABEL031
Goto LABEL032
Endif
Endif
:LABEL034
If ((INT013 <= INT012) && (INT012 <> 0)) Return
If ((((!BOOLEAN004 && !BOOLEAN005) && (STRING022 <> "")) && (STRING022 <> Chr(13))) && (InStr(STRING022, "D ") == 0)) Then
STRING022 = "D " + STRING022
Endif
If (STRING053 <> "") Command 0, "FLAG " + STRING053
If (STRING052 <> "") Command 0, "FLAG " + STRING052
If (STRING051 <> "") Command 0, "FLAG " + STRING051
If (STRING050 <> "") Command 0, "FLAG " + STRING050
If (STRING049 <> "") Command 0, "FLAG " + STRING049
If (STRING048 <> "") Command 0, "FLAG " + STRING048
If ((((((STRING053 <> "") || (STRING052 <> "")) || (STRING051 <> "")) || (STRING050 <> "")) || (STRING049 <> "")) || (STRING048 <> "")) Then
STRING022 = "D " + Chr(13)
Endif
KbdStuff STRING022
StartDisp 2
End
:LABEL035
If ((((((STRING048 == "") && (STRING049 == "")) && (STRING050 == "")) && (STRING051 == "")) && (STRING052 == "")) && (STRING053 == "")) Then
Newline
PrintLn ReadLine(STRING021, 35)
Delay 36
Return
Endif
Newline
PrintLn ReadLine(STRING021, 58)
STRING020 = ReadLine(STRING021, 59) + String(INT036) + ReadLine(STRING021, 60)
InputStr STRING020, STRING019, 14, 1, Mask_Ascii(), 8 + 16384
If (STRING019 == YesChar()) Then
STRING048 = ""
STRING049 = ""
STRING050 = ""
STRING051 = ""
STRING052 = ""
STRING053 = ""
INT036 = 0
Newlines 2
PrintLn ReadLine(STRING021, 61)
Return
Endif
If (STRING053 <> "") BIGSTR002 = BIGSTR002 + STRING053
If (STRING052 <> "") BIGSTR002 = BIGSTR002 + STRING052
If (STRING051 <> "") BIGSTR002 = BIGSTR002 + STRING051
If (STRING050 <> "") BIGSTR002 = BIGSTR002 + STRING050
If (STRING049 <> "") BIGSTR002 = BIGSTR002 + STRING049
If (STRING048 <> "") BIGSTR002 = BIGSTR002 + STRING048
STRING048 = ""
STRING049 = ""
STRING050 = ""
STRING051 = ""
STRING052 = ""
STRING053 = ""
INTEGER003 = INT036
INT036 = 0
Newline
If (INTEGER007) FOpen 5, STRING043, 0, 0
For INT024 = 1 To INTEGER003
STRING027 = Mid(BIGSTR002, 1, InStr(BIGSTR002, " ") - 1)
STRING027 = RTrim(STRING027, " ")
STRING020 = ReadLine(STRING021, 36) + " " + STRING027 + ReadLine(STRING021, 37)
InputStr STRING020, STRING019, 14, 1, Mask_Ascii(), 256 + 8 + 16384
If (STRING019 == YesChar()) Then
Inc INT036
STRING048 = STRING048 + STRING026 + " "
If (Len(STRING048) > 200) Then
If (STRING049 == "") STRING049 = STRING048
If (STRING050 == "") STRING050 = STRING048
If (STRING051 == "") STRING051 = STRING048
If (STRING052 == "") STRING052 = STRING048
If (STRING053 == "") STRING053 = STRING048
STRING048 = ""
Endif
ElseIf (INTEGER007) Then
Frewind 5
While (1) Do
FGet 5, STRING025
If (Ferr(5)) Break
If (InStr(STRING025, STRING027)) Then
STRING040 = Mid(STRING025, 15, Len(STRING025) - 14)
STRING025 = Mid(STRING025, 1, InStr(STRING025, " ") - 1)
INTEGER008 = INTEGER008 - FileInf(STRING040 + STRING027, 4)
Break
Endif
EndWhile
Endif
BIGSTR002 = Mid(BIGSTR002, InStr(BIGSTR002, " ") + 1, Len(BIGSTR002) - InStr(BIGSTR002, " "))
Next
If (INTEGER007) FClose 5
Return
:LABEL036
Newline
DispFile PPEPath() + "WHLP", 4 + 1
Return
:LABEL037
If ((((((STRING048 == "") && (STRING049 == "")) && (STRING050 == "")) && (STRING051 == "")) && (STRING052 == "")) && (STRING053 == "")) Then
Newline
PrintLn ReadLine(STRING021, 43)
Delay 36
Return
Endif
If (STRING053 <> "") BIGSTR002 = BIGSTR002 + STRING053
If (STRING052 <> "") BIGSTR002 = BIGSTR002 + STRING052
If (STRING051 <> "") BIGSTR002 = BIGSTR002 + STRING051
If (STRING050 <> "") BIGSTR002 = BIGSTR002 + STRING050
If (STRING049 <> "") BIGSTR002 = BIGSTR002 + STRING049
If (STRING048 <> "") BIGSTR002 = BIGSTR002 + STRING048
Newline
PrintLn ReadLine(STRING021, 44)
Newline
INTEGER003 = INT036
For INT024 = 1 To INTEGER003
STRING027 = Mid(BIGSTR002, 1, InStr(BIGSTR002, " ") - 1)
If (INT024 < 10) Print " "
Print "@X02" + String(INT024) + "." + Space(3)
Print "@X03" + STRING027 + Space(18 - Len(String(STRING027)))
If (INT024 % INT034 == 0) Newline
BIGSTR002 = Mid(BIGSTR002, InStr(BIGSTR002, " ") + 1, Len(BIGSTR002) - InStr(BIGSTR002, " "))
Next
Newline
Return
:LABEL038
If (AnsiOn()) Then
STRING026 = ReadLine(STRING021, 46)
Else
STRING026 = ReadLine(STRING021, 47)
Endif
STRING036 = Mid(STRING026, 1, 1)
STRING037 = Mid(STRING026, 2, 1)
STRING038 = Mid(STRING026, 3, 1)
STRING039 = Mid(STRING026, 4, 1)
STRING041 = Chr(8) + Chr(32) + Chr(8)
Return
End
;------------------------------------------------------------------------------
Procedure PROC001(Var Boolean BOOLEAN016)
String STRING063
STRING018 = MGetByte()
STRING063 = Inkey()
If ((((STRING018 == 13) || (STRING018 == Chr(13))) || (STRING063 == 13)) || (STRING063 == Chr(13))) Then
Print STRING041 + " " + STRING041
Newline
PrintLn ReadLine(STRING021, 45)
BOOLEAN016 = 1
Delay 18
Endif
EndProc
:LABEL039
STRING055 = ReadLine(PCBDat(), 31) + ".@@@"
STRING057 = ReadLine(PCBDat(), 32)
STRING058 = ReadLine(PCBDat(), 33)
FOpen 1, STRING055, 0, 0
FRead 1, INT035, 2
FSeek 1, CurConf() * INT035 + 515, 1
FRead 1, STRING059, 33
FClose 1
STRING059 = RTrim(STRING059, " ")
STRING057 = RTrim(STRING057, " ")
STRING058 = RTrim(STRING058, " ")
Return
:LABEL040
INT031 = 0
FOpen 1, STRING058, 0, 0
While (1) Do
FGet 1, STRING018
If (Ferr(1)) Break
Gosub LABEL046
Inc INT031
For INT024 = 1 To 2
STRING018 = Mid(STRING018, InStr(STRING018, ",") + 1, Len(STRING018) - InStr(STRING018, ","))
If (INT024 == 2) Then
STRING045 = Mid(STRING018, 1, InStr(STRING018, ",") - 1)
If (S2I(STRING045, 10) > U_Sec) Then
BIGSTR001 = BIGSTR001 + String(INT031) + Space(3 - Len(INT031))
Endif
Endif
Next
EndWhile
FClose 1
Return
:LABEL041
FOpen 1, STRING057, 0, 0
Gosub LABEL046
While (1) Do
FGet 1, STRING018
If (Ferr(1)) Break
STRING018 = Mid(STRING018, InStr(STRING018, ",") + 1, Len(STRING018) - InStr(STRING018, ","))
STRING027 = Mid(STRING018, 1, InStr(STRING018, ",") - 1)
If (S2I(STRING027, 10) == U_Sec) Then
For INT024 = 1 To 4
STRING018 = Mid(STRING018, InStr(STRING018, ",") + 1, Len(STRING018) - InStr(STRING018, ","))
If (INT024 == 2) Then
STRING025 = Mid(STRING018, 1, InStr(STRING018, ",") - 1)
If (STRING025 <> "32767") INTEGER007 = S2I(STRING025, 10) * 1000
Endif
Next
STRING027 = Mid(STRING018, 1, InStr(STRING018, ",") - 1)
INT025 = S2I(STRING027, 10)
If (INT025 == 0) INT025 = 30
Break
Endif
EndWhile
FClose 1
Return
:LABEL042
BOOLEAN012 = 1
INT032 = 1
While (1) Do
Gosub LABEL046
INT031 = S2I(Mid(BIGSTR001, INT032, 3), 10)
STRING032 = ReadLine(STRING058, INT031)
If (STRING032 == "") Break
STRING047 = Mid(STRING032, 1, InStr(STRING032, ",") - 1)
If ((STRING047 <> STRING044) || ((Len(STRING047) == 2) && (STRING047 == Mid(STRING044, 1, 2)))) Then
INT032 = INT032 + 3
If (INT032 > Len(BIGSTR001)) Break
Continue
Continue
Endif
STRING018 = STRING047 + STRING060
If (Len(FindFirst(STRING018)) > 0) Then
BOOLEAN012 = 0
Break
Endif
INT032 = INT032 + 3
If (INT032 > Len(BIGSTR001)) Break
EndWhile
Return
:LABEL043
If (INT014) Then
FClose 6
Gosub LABEL049
Gosub LABEL030
If (INT013 <= INT012) Then
INT014 = 0
Delete STRING043
FAppend 6, STRING043, 1, 0
Endif
Else
Gosub LABEL020
Endif
Return
:LABEL044
If (BOOLEAN014) Then
FOpen 1, STRING024, 0, 0
If (BOOLEAN011) Then
INTEGER006 = 128 + INTEGER001 * 19 + INTEGER004 * 64
Else
INTEGER006 = 128 + INT030 * 13 + INTEGER004 * 64
Endif
FSeek 1, INTEGER006, 0
FRead 1, STRING044, 64
FClose 1
STRING044 = RTrim(STRING044, " ")
STRING026 = STRING031
Else
STRING044 = STRING024
STRING026 = STRING027
Endif
If (TSTRING061(0) <> "") Then
For INT024 = 0 To INT015
If (InStr(TSTRING061(INT024), STRING026)) Return
Next
Endif
If (TSTRING062(0) <> "") Then
For INT024 = 0 To INT016
If (InStr(TSTRING062(INT024), STRING044)) Return
Next
Endif
If (BIGSTR001 <> "") Then
STRING060 = STRING027
Gosub LABEL042
Else
BOOLEAN012 = 1
Endif
If (BOOLEAN012) Then
If (BOOLEAN014) Goto LABEL045
FPut 6, STRING027
FPut 6, Space(14 - Len(STRING027))
STRING026 = FileInf(STRING044, 6) + ":" + FileInf(STRING044, 7)
FPutLn 6, STRING026
:LABEL045
If (BOOLEAN014) Then
FPut 6, STRING031
FPut 6, Space(14 - Len(STRING031))
STRING026 = FileInf(STRING044, 6) + ":" + FileInf(STRING044, 7)
FPutLn 6, STRING026
Endif
Inc INT014
Endif
Return
:LABEL046
REAL004 = Time()
If ((REAL004 - REAL005 < 1) && (INT023 <> 0)) Return
REAL005 = REAL004
If (INT023 == 0) Print " "
If (INT023 > 3) INT023 = 0
STRING042 = STRING041 + " " + STRING041
Inc INT023
Select Case (INT023)
Case 1
STRING042 = STRING042 + STRING036
Case 2
STRING042 = STRING042 + STRING037
Case 3
STRING042 = STRING042 + STRING038
Case 4
STRING042 = STRING042 + STRING039
End Select
Print STRING042
STRING042 = ""
Return
:LABEL047
INT024 = 0
STRING026 = PPEPath() + String(CurConf()) + "\FIL" + String(CurConf())
If (Exist(STRING026)) Then
FOpen 5, STRING026, 0, 0
While (1) Do
FGet 5, TSTRING061(INT024)
If (Ferr(5)) Break
TSTRING061(INT024) = Mid(Upper(TSTRING061(INT024)), 1, 255)
Inc INT024
INT015 = INT024
If (INT024 == 10) Break
EndWhile
Endif
INT024 = 0
STRING026 = PPEPath() + String(CurConf()) + "\DIR" + String(CurConf())
If (Exist(STRING026)) Then
FOpen 5, STRING026, 0, 0
While (1) Do
FGet 5, TSTRING062(INT024)
If (Ferr(5)) Break
TSTRING062(INT024) = Mid(Upper(TSTRING062(INT024)), 1, 255)
Inc INT024
INT016 = INT024
If (INT024 == 10) Break
EndWhile
Endif
Return
:LABEL048
If (Exist(PPEPath() + "WILD.CFG")) Then
FOpen 1, PPEPath() + "WILD.CFG", 0, 0
FGet 1, STRING018
INT020 = S2I(STRING018, 10)
FGet 1, STRING018
INT017 = S2I(STRING018, 10)
INT024 = 0
INT021 = 0
While (1) Do
FGet 1, STRING018
If (Ferr(1)) Break
If (InStr(STRING018, "\") == 0) Then
If (Len(TSTRING061(INT024) + STRING018 + " ") > 255) Then
Inc INT024
INT015 = INT024
Endif
TSTRING061(INT024) = TSTRING061(INT024) + Upper(STRING018) + " "
If (INT024 == 10) Break
Continue
Endif
If (Len(TSTRING062(INT021) + STRING018 + " ") > 255) Then
Inc INT021
INT016 = INT021
Endif
TSTRING062(INT021) = TSTRING062(INT021) + Upper(STRING018) + " "
If (INT021 == 10) Break
EndWhile
If ((TSTRING061(0) <> "") || (TSTRING062(0) <> "")) BOOLEAN015 = 1
Else
Newlines 2
PrintLn "@X0FWILD.CFG does not exist in the WILD.PPE directory"
Newlines 2
PrintLn "@X0C.....Program Aborted.....@X07"
Newlines 2
Wait
End
Endif
FClose 1
Return
:LABEL049
Print STRING041
If (INT014 >= INT020) Then
PrintLn ReadLine(STRING021, 6), INT014, ReadLine(STRING021, 7)
Else
PrintLn ReadLine(STRING021, 8), INT014
Endif
Return
;------------------------------------------------------------------------------
;
; Usage report (before postprocessing)
;
; ■ Statements used :
;
; 6 End
; 2 ClrEol
; 2 Wait
; 310 Goto
; 341 Let
; 17 Print
; 40 PrintLn
; 248 If
; 2 DispFile
; 11 FOpen
; 2 FAppend
; 10 FClose
; 10 FGet
; 4 FPut
; 2 FPutLn
; 4 StartDisp
; 1 GetUser
; 2 Delete
; 1 Log
; 6 InputStr
; 37 Gosub
; 33 Return
; 10 Delay
; 16 Inc
; 1 Dec
; 37 Newline
; 5 Newlines
; 3 Tokenize
; 1 KbdStuff
; 3 Frewind
; 10 FSeek
; 18 FRead
; 1 KeyFlush
; 1 EndProc
; 3 EndFunc
; 6 Command
;
;
; ■ Functions used :
;
; 1 -
; 12 *
; 2 /
; 2 %
; 160 +
; 49 -
; 103 ==
; 61 <>
; 25 <
; 14 <=
; 33 >
; 27 >=
; 161 !
; 53 &&
; 33 ||
; 35 Len(
; 5 Upper()
; 52 Mid()
; 5 Left()
; 6 Space()
; 8 Ferr()
; 14 Chr()
; 65 InStr()
; 1 LTrim()
; 11 RTrim()
; 1 Trim()
; 1 Time()
; 3 U_BdlDay()
; 1 NoChar()
; 3 YesChar()
; 1 Inkey()
; 12 String()
; 5 Mask_Ascii()
; 5 CurConf()
; 3 PCBDat()
; 9 PPEPath()
; 2 PcbNode()
; 69 ReadLine()
; 7 GetToken()
; 5 Exist()
; 1 I2S()
; 14 S2I()
; 2 LangExt()
; 3 AnsiOn()
; 7 FileInf()
; 1 MGetByte()
; 3 TokCount()
; 5 FlagCnt()
; 2 FindFirst()
; 1 FindNext()
;
;------------------------------------------------------------------------------
;
; Analysis flags : di
;
; d - Access PCBOARD.DAT ■ 2
; Program gets the full pathname to PCBOARD.DAT, this may be usefull
; for many PPE so they can find various informations on the system
; (system paths, max number of lines in messages, ...) but it may also
; be a way to gather vital informations.
; ■ Search for : PCBDAT()
;
; i - Sequencially read files in directory ■ 3
; Program is reading files in directory sequencially, maybe to get
; a DIR image, but this can be to look for targets to destroy
; ■ Search for : FINDFIRST(), FINDNEXT()
;
;------------------------------------------------------------------------------
;
; Postprocessing report
;
; 10 For/Next
; 14 While/EndWhile
; 116 If/Then or If/Then/Else
; 2 Select Case
;
;------------------------------------------------------------------------------
; AEGiS Corp - Break the routines, code against the machines!
;------------------------------------------------------------------------------